package business {

    import com.adobe.cairngorm.business.ServiceLocator;
    
    import mx.collections.*;
    import mx.rpc.*;
    import mx.rpc.remoting.*;
	
    public class CMSDelegate
    {
		private var responder:Object;
        private var service:RemoteObject;

        public function CMSDelegate(re:Object)
        {
	        this.service = ServiceLocator.getInstance().getRemoteObject("cmsService");
            this.responder = re;
        }
        
		/**
		 * 加载页面信息 
		 * @param pid
		 * 
		 */		
        public function loadSitePage(pid:int):void
        {
            var token:AsyncToken;
            var itemResponder:ItemResponder;
            token = service.loadSitePage(pid);
            itemResponder = new ItemResponder(responder["loadSitePageResult"],responder["fault"] );
            token.addResponder(itemResponder);
        }

		/**
		 * 保存页面信息，包括add、update、del 
		 * @param pages
		 * @param pid
		 * 
		 */		
        public function saveSitePage(pages:Array,pid:int):void
        {
            var token:AsyncToken;
            var itemResponder:ItemResponder;
            token = service.saveSitePage3(pages);
            itemResponder = new ItemResponder(responder["saveSitePageResult"],responder["fault"] );
            token.addResponder(itemResponder);
        }
		
		/**
		 * 保存预约信息 
		 * @param pages
		 * @param pid
		 * 
		 */		
		public function saveBookingInfo(pages:Array):void
		{
			var token:AsyncToken;
			var itemResponder:ItemResponder;
			token = service.saveBookingInfo(pages);
			itemResponder = new ItemResponder(responder["saveBookingInfoResult"],responder["fault"] );
			token.addResponder(itemResponder);
		}
		

        public function publishSitePage(pid:int):void
        {
            var token:AsyncToken;
            var itemResponder:ItemResponder;
            token = service.publishSitePage(pid);
            itemResponder = new ItemResponder(responder["publishSitePageResult"],responder["fault"] );
            token.addResponder(itemResponder);
        }

        public function delSitePages(pages:Array):void
        {
            var token:AsyncToken;
            var itemResponder:ItemResponder;
            token = service.del(pages);
            itemResponder = new ItemResponder(responder["delSitePagesResult"],responder["fault"] );
            token.addResponder(itemResponder);
        }
		
		
		/**
		 * 得到可以预约的时间列表 
		 * 
		 */		
        public function getPreviewDate():void
        {
            var token:AsyncToken;
            var itemResponder:ItemResponder;
            token = service.getPreviewDate();
            itemResponder = new ItemResponder(responder["getPreviewDateResult"],responder["fault"] );
            token.addResponder(itemResponder);
        }
		
		/**
		 * 根据原来的联合主键 + time 来查询预约信息 
		 * @param pageId
		 * @param subId
		 * @param pos
		 * 
		 */		
		public function loadBookingInfo(pageId:int,subId:int,pos:int):void
		{
			var token:AsyncToken;
			var itemResponder:ItemResponder;
			token = service.loadBookingInfo(pageId, subId, pos);
			itemResponder = new ItemResponder(responder["loadBookingInfoResult"],responder["fault"] );
			token.addResponder(itemResponder);
		}
		
		/**
		 * 
		 *	根据元素的唯一主键查询出相关信息
		 * @param id
		 *  
		 */		
		public function loadItemInfo(id:String):void
		{
			var token:AsyncToken;
			var itemResponder:ItemResponder;
			token = service.loadItemInfo(id);
			itemResponder = new ItemResponder(responder["loadItemInfoResult"],responder["fault"] );
			token.addResponder(itemResponder);
		}
			
		
    }
}

